package com.deepclassifieds.daas.api.jdbc;

import com.deepclassifieds.daas.api.DaasExpression;
import com.deepclassifieds.daas.api.DaasExpressionBuilder;
import com.deepclassifieds.daas.common.Name;

public class DaasExpressionBuilderJdbcImpl implements DaasExpressionBuilder {

	@Override
	public DaasExpression eq(Name columnName, String value) {
		return new DaasExpressionEqStringJdbcImpl(columnName, value);
	}

	@Override
	public DaasExpression eq(Name columnName, Number value) {
		return new DaasExpressionEqNumberJdbcImpl(columnName, value);
	}

	@Override
	public DaasExpression ne(Name columnName, String value) {
		throw new RuntimeException("not implemented yet...");
	}

	@Override
	public DaasExpression gt(Name columnName, String value) {
		throw new RuntimeException("not implemented yet...");
	}

	@Override
	public DaasExpression ge(Name columnName, String value) {
		throw new RuntimeException("not implemented yet...");
	}

	@Override
	public DaasExpression lt(Name columnName, String value) {
		throw new RuntimeException("not implemented yet...");
	}

	@Override
	public DaasExpression le(Name columnName, String value) {
		throw new RuntimeException("not implemented yet...");
	}

	@Override
	public DaasExpression like(Name columnName, String value) {
		throw new RuntimeException("not implemented yet...");
	}

	@Override
	public DaasExpression and(DaasExpression left, DaasExpression right) {
		return new DaasExpressionAndJdbcImpl(left, right);
	}

	@Override
	public DaasExpression or(DaasExpression left, DaasExpression right) {
		return new DaasExpressionOrJdbcImpl(left, right);
	}

}
